Zurück in Elementare ProgrammentwicklungWeiter in Elementare ProgrammentwicklungEin Unterprogramm am Beispiel Quadrat Zusammenfassung ?

Entwicklungsphasen am Beispiel Bibliothek führt den Modulbegriff ein. Ein Unterprogramm ist ein benanntes Modul mit einem genau umschriebenen Zweck, das man in sein Programm aufnehmen kann, ohne den Code verstehen zu müssen. Weil ein Unterprogramm das "Prozedere" einer Problemlösung beschreibt, nennt man es auch Prozedur. Im folgenden entwickeln wir ein Unterprogramm QuadratFesterLänge, das - im Gegensatz zu seinem interaktiven Pendant QuadratInteraktiv.xls - ein Quadrat beliebig oft und ohne Intervention des Benutzers zeichnet. Das Quadrat entsteht also nicht interaktiv, sondern programmgesteuert.

Positions- und Grössenangaben sind nur dann möglich, wenn Koordinatensystem und Masseinheit bekannt sind. Die meisten Programmierumgebungen verwenden das rechtwinklige Koordinatensystem und die Masseinheit Pixel (engl. picture element) bzw. Bildschirmpunkt:

Der Punkt (0,0) mit der X-Koordinate von 0 und der Y-Koordinate von 0 heisst Ursprung und befindet sich in Excel an der linken oberen Ecke des Tabellenblatts. Unser Quadrat soll seine linke obere Ecke im Punkt (100,100), also 100 Punkte vom Ursprung nach unten und 100 Punkte nach rechts, haben. Weil ein Quadrat eine Verbindung von vier Eckpunkten durch Geraden ist, soll ein Unterprogramm das Quadrat nach dem folgenden Schema zeichnen:

Entwurfssprachlich lässt sich das Unterprogramm wie folgt beschreiben:

Unterprogramm QuadratFesterLänge
  Zeichne hintereinander die ...
    Gerade(100,100, 200,100)
    Gerade(200,100, 200,200)
    Gerade(200,200, 100,200)
    Gerade(100,200, 100,100)

Die Anweisung Gerade zeichnet die kürzeste Verbindung zwischen einem ersten und einem zweiten Punkt. Der erste Aufruf zeichnet eine Gerade zwischen dem linken oberen und dem rechten oberen Eckpunkt des Quadrats. Die restlichen Anweisungen zeichnen gleich grosse Geraden zwischen den übrigen Eckpunkten.

Das Unterprogramm QuadratFesterLänge lässt sich grundsätzlich in einer beliebigen Sprache programmieren (Visual Basic, C, Pascal, etc.) und aus einem beliebigen anderen Programm aufrufen. Um den technischen Ballast möglichst gering zu halten, implementieren wir QuadratFesterLänge als VBA-Subroutine und rufen es aus einer Excel-Arbeitsmappe auf.